Multi-module enterprise codebases where a rewrite was never an option and cold start had drifted to 3.6 seconds. Compose adoption usually makes startup worse before it makes it better.
These figures are résumé-stated and repeatable in Perfetto. Client dashboards, traces and codebases stay where they belong.
Baseline profiles and module boundaries were decided from trace evidence, not preference. A partial migration means two UI toolkits and two theming systems running at once - the risk is well documented, and teams ship the regression anyway because nobody agreed in advance what “too slow” meant.
So the first deliverable was not code. It was a number everyone accepted, measured the same way every time, that could block a release.
Cold-start and jank profiling, Compose migration planning, release-gate setup. Fixed scope, and you keep the traces and the pipeline afterwards.